import React, { useEffect, useState } from 'react'
let timer = null
export default function App() {
  let [msg, setMsg] = useState('setMsg')
  useEffect(() => {
    clearInterval(timer)
    timer = setTimeout(() => {
      // 产生闭包
      // 闭包：函数内部可以访问函数外部的变量，即使函数外部的变量已经销毁
      // setMsg(msg + '-')
      setMsg((msg) => msg + '-')
    }, 1000)
  })
  return (
    <div>
      <p>msg:{msg}</p>
      <button onClick={() => setMsg(msg + '!')}>setMsg</button>
    </div>
  )
}
